/*@S.Genikhov
    Created:  25/06/2010
    Modified: 1/07/2010
    Project modeling in very simplified form, the computer schelduling process of different task.
    User provid number functions which will be run alway they don't need the access to IO or any resources
    Addition two function File1 and File2 imitates the fucton that need kernel interuption.
    THe kernel fuction DRIVER access them when needs the and performs the "open-read" process, like system
    call. Schelduler actives by using the PriorityQue to reallizie the readyque and some kind of Queueue
    for blocking queue.
    In this version the reallizing of Priority que done by intorducing some special function to que API
    like inster by index (not only to end) and remove by index.

    The simulation builded from 4 levels:
    1st level is userAPI - only user functions
    2nd level Kernel , Schelduler initiation,(Driver is inner Schelduler function initiated with Schelduler creation)
    3rd level Scheluler operation functions
    4rd Schedlduler support units: the Queue based on vector and Memory Mamager Unit based on bitvector*/
#ifndef USERAPI_H_INCLUDED
#define USERAPI_H_INCLUDED


typedef struct variable var_t;/*implementation in STChelduler.c*/


/*User typiccaly user function*/
typedef int (*func)(void);
/*Open file function, return index of open to finde file in file description list********/
int File1 (void);
/*Returns 0 if o.k and error value otherwise*/
int func1(void);
int func2(void);
int func3(void);
#endif /* USERAPI_H_INCLUDED*/
